package com.vip.jwt.common.utils.baidu;

import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpUtil;
import lombok.Getter;
import org.springframework.beans.factory.annotation.Value;

public class BaiduMapUtil {

    @Getter
    private static String APP_KEY;

    @Value("${baidu-map-appkey}")
    public void setAppKey(String appKey) {
        APP_KEY = appKey;
    }

    /**
     * 根据经纬度获取详细地址
     * 文档：http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding-abroad
     * @param latitude 纬度：31.225696563611
     * @param longitude 经度：121.49884033194
     * @param coordtype 坐标类型： bd09ll（百度经纬度坐标）、bd09mc（百度米制坐标）、gcj02ll（国测局经纬度坐标，仅限中国）、wgs84ll（ GPS经纬度）
     * @return
     */
    public static String getAddress(String latitude,String longitude,String coordtype){
        String url = "http://api.map.baidu.com/reverse_geocoding/v3/?ak="+APP_KEY
                +"&output=json&coordtype="+coordtype+"&location="+latitude+","+longitude+"";
        return HttpRequest.get(url).execute().body();
    }

    /**
     * 根据ID地址定位获取详细地址
     * @param ip IP地址
     * @param coor 坐标类型
     * @return
     */
    public static String getAddress(String ip,String coor){
        String url = "http://api.map.baidu.com/location/ip?ak="+APP_KEY+"&ip="+ip+"&coor="+coor;
        return HttpRequest.get(url).execute().body();
    }

}
